/*
 * NormalizadorTxt.cpp
 *
 *  Created on: 12/05/2013
 *      Author: pato
 */

#include "NormalizadorTxt.h"

void NormalizadorTxt::sinAsentos(string *text) {
	char letra;
	int posicion = 0;
	while (posicion <= ((text->size()) - 1)){
		letra = text->at(posicion);
		this->comprobarLetra(text,letra,&posicion);
		posicion++;
	}
}

void NormalizadorTxt::comprobarLetra(string *palabra, char letra, int *pos) {
	int ascii = letra;
	if (ascii == -61) {
		ascii = palabra->at(*pos+1);
		switch(ascii){
			case(-91):case(-92):case(-93):case(-94):case(-95):case(-96):
				palabra->replace(*pos,2,"a");
				break;
			case(-87):case(-86):case(-88):case(-85):
				palabra->replace(*pos,2,"e");
				break;
			case(-81):case(-82):case(-83):case(-84):
				palabra->replace(*pos,2,"i");
				break;
			case(-77):case(-76):case(-74):case(-78):case(-75):
				palabra->replace(*pos,2,"o");
				break;
			case(-68): case(-71): case(-69):case(-64):
				palabra->replace(*pos,2,"u");
				break;
			default:
				break;
			}
	}
}

void NormalizadorTxt::sinMayusculas(string *palabra) {
	transform(palabra->begin(), palabra->end(), palabra->begin(), (int( * )(int))std::tolower);

}

void NormalizadorTxt::normalizarPalabra(string *palabra) {
	this->sinMayusculas(palabra);
	this->sinAsentos(palabra);
	return;
}









